/*  INFO THIS
 * file: word.h */

/*  USE THIS
 * L__LIB_WORDS "words.h"
 * L__LIB_WORD "word.h" */
# ifndef L_LIB_WORD
# define L_LIB_WORD

/*  */
# include <string>
/*  INCLUDE
 * std::string */

/* */
typedef struct Word
{
  /* value: */
  public:

    /* value of Word */
    std::string value;

  /* points: */
  public:
  
    /* point to previous Word */
    struct Word *previous;

    /* point to next Word */
    struct Word *next;
 
  /* Word: */
  public:
    /*  USE
     * L__LIB_WORD__CREATE THIS
     * L__LIB_WORD__DELETE THIS */
    /*  INFO word__clear
     * do: Clear Word */
    void
    clear ();
    
    Word ();
    
    /*  INFO
     * do: REMOVE Word */
    ~Word ();
  
    /*  INFO
     * do: COPY Word */
    Word (Word &word);
  
  /* functions: */
  public:
  
    /*  INFO
     * do: PRINT Word */
    void
    print ();

}
/* initials */
Word;

/* может сжать все функции каждого класса в файл класса ???? */

/*  INFO
 * do: COPY Word */
void
word__copy (Word *self, Word *word);

// /*  USE
 // * L__LIB_WORD__COPY "word__copy.h" */
// /*  INFO word__clear
 // * do: Clear Word */
// void
// word__clear (Word *self);

/*  INFO word__create
 * do: CREATE Word */
Word*
word__create ();

/*  INFO
 * do: REMOVE Word */
void
word__delete (Word *self);

// /*  INFO
 // * do: CHECK Word */
// void
// int__check (int *self);

# endif /* L_LIB_WORD */

